今天想要試著用seabon來修改關鍵評論網的新聞。這篇新聞在8月21日時發布,可能對很多讀者來說,已經「不夠新」了。但因這篇新聞的標題很吸引我,且關鍵評論網也有附資訊圖表在新聞內文中,因此我想試著修改、試做看看,看能不能在已有的新聞稿中來做出不同的資訊圖表。
(話說好像好一陣子沒有看到關鍵評論網的吸睛資訊圖表了…不曉得是不是在產製新聞上的方向有改變)
這篇新聞標題為〈亞洲智慧型手機市場洞察:台灣領先,泰國與印尼消費強勁,日本面臨挑戰〉是從亞洲智慧型市場用戶中,來看各國對智慧型市場的觀察。而我想要用以下的新聞內文來製作圖表。該內文如下:
產業方向指數
多數國家對智慧型手機市場的未來持樂觀態度。台灣、泰國、印尼、新加坡和馬來西亞的正面評價均超過79%,特別是台灣高達91%。這表明市場對未來發展的信心較高。日本在此指標上顯示出48%的中性評價和42%的正面評價,反映出市場對未來走向的不確定性和保留態度。【註1】
圖1:關鍵評論網新聞中的資訊圖表,從中可以看到亞洲的產業方向指數。
截圖自: https://www.thenewslens.com/article/206248
這邊遇到一個問題: 雖然可能關鍵評論網所參考的國際新聞來源,有附比較詳盡的統計百分比資料,但關於各國對於智慧型手機市場的正向、中性、負面態度部分,並沒有完整的呈現在關鍵評論網的新聞中。因此保守起見,我選了兩個明確的數字,分別是台灣與亞洲對於智慧型手機的正向觀感百分比,所得到的資料分別為91%和42%。
我們一樣使用seabon製圖,首先在程式碼中創建資料:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# 創建資料
data = {
'Country': ['Taiwan', 'Japan'],
'Positive': [91,42],
}
接著將資料放入data frame中,並將資料轉化成柱狀圖。之後,我們再將x軸設為百分比、y軸設為國家名。
df = pd.DataFrame(data)
df_melted = df.melt(id_vars='Country', var_name='Evaluation', value_name='Percentage')
# 繪製條形圖
plt.figure(figsize=(8, 6))
sns.barplot(x='Percentage', y='Country', hue='Evaluation', data=df_melted, palette='Set2')
# 添加標題和x/y軸標籤
plt.title('Future Outlook of Smartphone Market by Taiwan vs Japan')
plt.xlabel('Percentage')
plt.ylabel('Country')
# 顯示圖表
plt.show()
在上述的程式碼中,我將柱狀圖的顏色設定為” palette='Set2'”,這是參考seabon的色票號碼。在seabon的網站中,有一系列的顏色可供選擇。(可參考以下網站內容: https://seaborn.pydata.org/tutorial/color_palettes.html)
圖2: 用seabon繪製的圖表成品。
如此成果便完成了! 雖然沒有說十分美觀、但是資訊清楚,畫面乾淨,我想應該也算是及格的資料視覺化圖表了。
【註1】有關此新聞內容,引用自關鍵評論網,https://www.thenewslens.com/article/206248